package com.bd.scm.domain.dto.approval;

import com.bd.scm.domain.dto.common.PageInfoDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author Mason
 * @version 1.0
 * @since 2020/1/14 16:31
 */
@Data
@ApiModel(value = "请假审批数据查询条件")
public class LeaveDataDto extends PageInfoDto {

    @ApiModelProperty(value = "员工ID", notes = "员工ID", position = 1)
    private String userSerial;

    @ApiModelProperty(value = "单据号", notes = "单据号", position = 2)
    private String orderNo;

    @ApiModelProperty(hidden = true)
    private Integer peopleNum;

    @ApiModelProperty(hidden = true)
    private Integer totalTime;

    @ApiModelProperty(hidden = true)
    private String totalTimeStr;

    @ApiModelProperty(hidden = true)
    private String leaveName;

    @ApiModelProperty(value = "提交人", notes = "提交人", position = 7)
    private String createrName;

    @ApiModelProperty(value = "申请开始日期", notes = "申请开始日期", position = 8)
    private String startDate;

    @ApiModelProperty(value = "申请结束日期", notes = "申请结束日期", position = 9)
    private String endDate;

    @ApiModelProperty(value = "提交日期", notes = "提交日期", position = 10)
    private String createTime;

    @ApiModelProperty(hidden = true)
    private String remark;

    /**
     * 单据ID
     */
    @ApiModelProperty(value = "单据ID", notes = "单据ID", position = 11)
    private String orderId;

    /**
     * 单子对应流程实例
     */
    @ApiModelProperty(value = "单据对应流程实例ID", notes = "单据对应流程实例ID", position = 11)
    private String processId;

    /**
     * 审批状态
     */
    private Integer status;

    /**
     * 审批状态名称
     */
    private String statusName;

    /**
     * 审批结果：通过、驳回
     */
    private String resultName;

    /**
     * 审批时间
     */
    private String approvalTime;

    /**
     * 待审批的单子实例id集合
     */
    private List<String> notApproveList;

    /**
     * 最后审批人
     */
    private String  finallyApproverName;

    /**
     * 最后审批时间
     */
    private String finallyApprovalTime;

    /**
     * 拒绝原因
     */
    private String returnRemark;

}
